Skip to content

Add games/suika3: Portable 2D game engine with visual novel DSL#177

Open
awemorris wants to merge 1 commit into
NetBSD:trunkfrom
awemorris:trunk
Open

Add games/suika3: Portable 2D game engine with visual novel DSL#177
awemorris wants to merge 1 commit into
NetBSD:trunkfrom
awemorris:trunk

Conversation

@awemorris
Copy link
Copy Markdown

Add new package: games/suika3

Suika3 is a cross-platform, high-performance 2D game engine focused on visual novels.
It is written in C89 and designed for maximum portability across architectures supported by NetBSD.

Features:

  • C89-based portable 2D game engine core
  • Built-in DSL for visual novel scripting
  • Custom JIT and AOT scripting VM supporting amd64, arm64, riscv64, and more
  • Cross-platform architecture with mobile app support
  • Uses OpenGL if available
  • Software rendering fallback for X11 (1/8/16/24/32-bpp)
  • Supports older UNIX systems such as Solaris 10

JIT-supported architectures:

  • x86 / amd64
  • ARM (v5–v8)
  • RISC-V (32/64)
  • MIPS (32/64)
  • PowerPC (32/64)

Packaging notes:

  • Uses CMake build system
  • Optional features controlled via pkgsrc options
  • Depends on noto-fonts for font rendering in the sample game
  • Supports optional OpenGL and GStreamer backends

Tested on:

  • NetBSD 10.1 amd64
  • pkgsrc-current (git)

Homepage:
https://github.com/awemorris/suika3

khorben pushed a commit to NetBSDfr/NetBSD-pkgsrc that referenced this pull request Apr 14, 2026
Version 6.1.2
=============

Code Fixes
----------

* Fix for low-severity CVE-2026-23868 affecting gifponge, giftool, and gifbuild,
  but not the core library - library clients need not be alarned.

Version 6.1.1
=============

This release bumps the major version, but only one entry point -
EGifSpew() - has changed signature and behavior (in order to be able
to pass out a detailed error code). The internal error
codes in the E_GIF_ERR series have changed value so none of them
collides with GIF_ERROR.

This code has been systematically audited and hardened wuth
ChatGPT-5.2. The only library fixes reported by users or found by
robot were for some memory leaks that could only triggered by severely
malformed GIFs. Other bugs are edge-case failures in the CLI tools.

The gif2rbg CLI tool has been moved to the "obsolete" bin, because its
only deployment case in 2026 is as a piñata at fuzzer parties.

Warning: the CLI tools in the obsolete category will soon be removed
from the distribution entirely. The maintainer is tired of fielding
junk bugs filed against them by would-be coup-counters who found yet
another edge case, and the rest of the world doesn't need noisy CVEs
that aren't actually DoS or security issues for giflib clients.

Code Fixes
----------

* Fix for CVE-2021-40633.

* Fix SF bug NetBSD#165 EGifSpew leaks GifFileOut->SColorMap

* Fix SF bug NetBSD#171 ImageMagick required to build giflib on non-Darwin Platforms

* Fix SF bug NetBSD#172 Incorrect object files in shared libutil on darwin

* Fix SF bug NetBSD#173 installation of manual pages and html documentation

* Fix SF bug NetBSD#175 Memory leaks in gifecho.c's main() and in gifalloc.c's GifMakeMapObject

* Fix SF bug NetBSD#177 wrong pointer used in giftool getbool

* Fix SF bug NetBSD#179 Path Traversal vulnerability

* Fix SF bug #180: -Wformat-truncation likely pointing out an actual bug

* Fix SF bug #182 out‐of‐bounds writes in Icon2Gif

* Fix SF bug #184 uninitialized buffer in DumpScreen2RGB

* Fix SF bug #185 integer overflow in gifbg.c

* Fix SF bug #186 integer overflow in Icon2Gif

* Fix SF bug #187: CVE-2025-31344

* Fix SF bug NetBSD#170 Tests failing on Ubuntu Noble, giftext buffer overflow

* Fix SF bug NetBSD#165 EGifSpew leaks GifFileOut->SColorMap

* Fix SF bug NetBSD#162 detected memory leaks in GifMakeSavedImage giflib/gifalloc.c

* Fix SF bug NetBSD#161 detected memory leaks in EGifOpenFileHandle giflib/egif_lib.c

* Fix SF bug NetBSD#142 ABI break public symbol GifQuantizeBuffer

Other bugs that duplicate these have breen addressesed by these fixes

* SF bug NetBSD#156 EGifSpew leaks SavedImages (and more); won't fix, caller
  might want to write a GIF, modify the in-memory data, then write
  again.

Tests
-----

Test suite now emits TAP (Test Anything Protocol).
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
Upstream changes:
## 2025 03 11
    - The options --want-call-parens and --nowant-call-parens were accidentally
      being skipped in version 20250214. This has been fixed.
    - Fixed git NetBSD#32, a tokenization error with message "hit EOF seeking end of
      quote/pattern" for a function call without paren or arg before a
      ternary operator.
    - A new option --dump-similar-keys will dump hash keys which are
      similar but slightly different to standard output and then exit.
      A related option --warn-similar-keys will report keys with are similar
      to the error output while formatting. Both of these can be controlled
      by parameters which are described in the input manual.
    - A new option --dump-hash-keys will dump all hash keys found by
      perltidy to standard output.
    - The output table for --dump-block-summary has an additional field.
      It is an alternate McCabe complexity count which is the same as
      the previous count except for subs. For subs, the complexity number
      is reduced by the values for any contained anonymous subs.
    - Fix git #181, remove continuation indentation from closing brace
      of an anonymous sub which terminates an input stream.
## 2025 02 14
    - A new option --keep-old-blank-lines-exceptions=s, or --kblx=s,
      allows selected blank lines to be ignored when an input stream
      is read. The parameter s is used to select the blank lines to
      be ignored. This option provides an inverse to other blank line
      parameters. The manual has details. See discussion git #180.
    - A new option --warn-unused-keys, or -wuk, has been added which will
      produce warnings for unused hash keys during formatting. This is similar
      to --dump-unused-keys, which just exits and does not continue formatting.
      A related new parameter --warn-unused-keys-cutoff=N provides control
      over a filter which prevents warnings for keys which appear to be
      members of large hashes used to communicate with external packages.
      The manual has details.  See also git NetBSD#177.
    - A new option --pack-opening-types='->' has been added to provide more
      control over breaks of method call chains.  It tells perltidy not to
      break at every method call when a chain of calls spans multiple lines.
      This was the behavior in versions prior to 20250105. The default
      starting with 20250105 is to break at each call of a method call chain
      which spans multiple lines. The manual has details. See also git NetBSD#171.
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
# changes

Added

    Add YYJSON_READ_ALLOW_BOM flag to allow UTF-8 BOM.
    Add YYJSON_WRITE_FP_TO_FLOAT flag to write real numbers using single-precison.
    Add YYJSON_WRITE_FP_TO_FIXED(prec) flag to write real numbers using fix-point notation.
    Add set_fp_to_float() and set_fp_to_fixed() functions to control the output format of a specific number.
    Add set_str_noesc() function to skip escaping for a specific string during writing.
    Add yyjson_incr_read(), yyjson_incr_new(), yyjson_incr_free() functions for incremental DOM reading.

Changed

    Rewrite the floating-point number to string functions with a new fast path.
    When comments are allowed, return UNEXPECTED_END instead of INVALID_COMMENT for unclosed comments.
    Truncated escape sequences now report the error position at the sequence start rather than the end.

Fixed

    Fix some warnings when directly including yyjson.c: NetBSD#177
    Fix missing indent for YYJSON_TYPE_RAW in prettify function: NetBSD#178
    Fix bug in yyjson_mut_arr_iter_remove(): #194
    Fix clang 19 documentation warnings.
    Fix cmake 4 and cmake 3.5 warnings.
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
# upstream changes (since 2.9.2)

## keychain 2.9.5 (16 May 2025)

This is a bugfix release.

* Hardening checks were failing on Android and some MacOS environments. Make them
  more compatible and lower to warnings instead of aborting the script, until
  they have been tested in more environments.
  ([NetBSD#177](danielrobbins/keychain#177))

* Fixed issues with indentation of `note()`, `warn()`, `mesg()`.

* Convert `SSH_AUTH_SOCK in pidfile is invalid; ignoring it` into a debug message,
  as this is normal when rebooting your system so is not really useful to show
  typically. ([NetBSD#176](danielrobbins/keychain#176))

## keychain 2.9.4 (14 May 2025)

This is a minor bugfix release.

* Fix minor regression which allowed some warnings to display with `--quiet`.
([NetBSD#175](danielrobbins/keychain#175))

* "Cannot find separate public key" turned into a `note()` rather than `warn()`,
  along with several other non-critical notices. `note()` can be suppressed with
  `--quiet`, unlike `warn()`. ([NetBSD#157](danielrobbins/keychain#157))

* Minor improvement when wiping GnuPG keys with `--wipe` option so keychain output
  is more understandable when gpg-agent is not running.

## keychain 2.9.3 (14 May 2025)

This is a security and bug fix release. Many thanks to those who have reported
issues to GitHub, send in pull requests, and tested out fixes. 2.9.3 includes
the following updates:

* The `--quick` option logic had several bugs which have been resolved. Thanks
  to Filipe Fernandes (@ffernand) for reporting the issue and for assistance
  testing fixes. ([NetBSD#167](danielrobbins/keychain#167))

* Fix keychain `--query` exit code when no pidfile exists.
  ([NetBSD#171](danielrobbins/keychain#171))

* `--systemd` option should now be fixed.
  ([[NetBSD#168](danielrobbins/keychain#168)])

* Harden keychain so the use of the `--dir` and `--absolute` options cannot be
  used to instruct keychain to write pidfiles into insecure areas.
  ([NetBSD#174](danielrobbins/keychain#174))

  Prior to this release, it was possible to use these options in combination
  with bad (empty) default umask to write pidfiles into a public area on disk
  where they were writable by other users. In the worst case, this could allow
  arbitrary execution of the contents of the malicious pidfile by keychain.

  This hardening now makes it difficult for a user to configure their keychain
  in a way that would allow this to happen. Note that if you are not using the
  `--dir` or `--absolute` options, keychain will use the `$HOME/.keychain`
  directory by default, which is typically under the full control of the
  current user and thus not exploitable.

  The hardening changes include:

  * Setting a global restrictive `umask` in the script.
  * Remove pidfiles before redirecting data to them to ensure they are created
    with restrictive permissions from the `umask`.
  * Check the keychain pidfile directory to ensure it is owned by the current
    user, and only the current user can access it (mode 700). If not, abort
    with an informative error message.
  * Check any existing pidfiles prior to use to make sure they are owned by the
    current user, and only the current user can access them. If not, abort with
    an informative error message.
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
What's Changed
New features:

None
Bug fixes:

    Allow files in directory arg by @thomasschafer in NetBSD#168

Other changes:

    Highlight line num in different colour by @thomasschafer in NetBSD#177
    Improve directory parsing by @thomasschafer in NetBSD#165
    Various dependency bumps
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
Mew 6.10 (2025-07-08)

Differences between Mew 6.10 and Mew 6.9

* XOAUTH2 support. Please see Sec 9.13 of the manual.
* Use C.UTF-8 if available to display non-ASCII names for GnuPG programs.
  NetBSD#179
* Enable IPv6 support of stunnel by default.  NetBSD#177
* Add GnuTLS support.  NetBSD#175
* Supporting stunnel >=5.15 only.  NetBSD#174
* Separately check if stunnel supports 'foreground', 'pid' and 'syslog'
  options.  NetBSD#171
* Use configured file names as relative paths from mew-home.  NetBSD#170
* And several bug fixes.
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
Changelog:
Version 0.8.0 (2025-05-04):
	* A backwards-incompatible change, since the sizeof cpu_raw_data_t and
	  cpu_id_t are now different.
	* Fix a typo in string (#208)
	* Support for AMD Turin Dense
	* Simplify exec_cpuid() to use constraints (#209)
	* Use HW_NCPUONLINE in get_total_cpus() for OpenBSD/NetBSD (#210)
	* Implement cpu_clock_by_os() for OpenBSD (#211)
	* Support Intel Lunar Lake
	* Support Intel Twin Lake
	* Support Intel Alder Lake-PS
	* Support more Intel Raptor Lake ("Intel Processor", "Xeon E")
	* Support Intel Raptor Lake-U Refresh
	* Support Intel Raptor Lake-U/H Re-refresh
	* Support Intel Arrow Lake-U/H
	* Fix warning during build on OpenBSD about strcpy()
	* Refactored internal struct match_entry_t for x86 CPUs to fix truncation issues (#212)
	* Add technology_node field to struct cpu_id_t
	* Support more ARM CPUs
	* Support ARMv9.5-A CPUs (new value FEATURE_LEVEL_ARM_V9_5_A for cpu_feature_level_t)
	* Massive DB updates for almost all Intel and AMD CPUs along with more test data
	* Return ERR_BADFMT during raw deserialization if cpu_raw_data_t is empty
	* Support another type of header for raw deserialization
	* Support Intel Granite Rapids-SP


Version 0.7.1 (2024-11-30):
	* Fix cpuid kernel module build on ARM
	* Return ERR_NO_CPUID when cpuid kernel module cannot be used on AArch32 state
	* Refactor the build of the bindings (#203)
	* Fix build error on AArch64 when HWCAP_CPUID is not defined (#205)
	* Fix build on Windows ARM with MSVC (206)
	* Fix detection of Intel Meteor Lake
	* Support for Intel Arrow Lake
	* Support for AMD Turin


Version 0.7.0 (2024-08-26):
	* Fix handle leaks in rdmsr.c (#199)
	* Fix cpuid_get_hypervisor when NULL data is provided (#199)
	* Prevent intel_fn11 array overruns (#199)
	* Support for AMD Hawk Point
	* Support for more AMD Phoenix (8000 series)
	* Add cpu_clock_by_tsc() function to the library (NetBSD#124)
	* Check x86 CPUs MSR support (#185)
	* Add support for ARM CPUs (AArch32 + AArch64) (#200)
	* Add cpu_feature_level_t enumerated values for x86 CPUs (NetBSD#177)
	* Support up to 4 subleaf entries for CPUID leaf 0x80000026 (#189)
	* Support for Extended CPU topology subleaf in cpuid_identify_purpose_amd() (#189)
	* Support CPU purpose for AMD x86 CPUs (#189)
	* Add cpuid Linux and FreeBSD kernel modules for ARM CPUs
	* Improve errors handling in cpuid_get_all_raw_data() and cpuid_get_raw_data_core() (#202)
	* Support get_total_cpus() on DragonFly BSD
	* Improve set_cpu_affinity() on NetBSD
	* Fix build on OpenBSD
	* Improve behavior when CPU affinity cannot be set
	* Fix a regression in cpuid_tool about arguments doing nothing (like --rdmsr or --cpuid)
	* Fix a segmentation fault when using --quiet in cpuid_tool
	* Improve error handling in cpu_identify_all()
	* Add Python bindings (#197)
	* Support for AMD Granite Ridge
	* Support for AMD Strix Point
	* Detect x2APIC and AVX512 features for AMD x86 CPUs


Version 0.6.5 (2024-04-28):
	* Support for Intel Bay Trail-M
	* Support for Intel Bay Trail-T
	* Support for Intel Bay Trail-D
	* Support for AMD Storm Peak
	* Support for Intel Raport Lake Refresh
	* Support heterogeneous RAW dumps in cpu_identify_all()
	* Support for Intel Meteor Lake, including detection of LP E-Cores
	* Support for Intel Emerald Rapids-SP
	* Support for more AMD Van Gogh


Version 0.6.4 (2023-10-08):
	* Support for AMD Genoa
	* Support for Intel Sapphire Rapids-WS
	* Support for Intel Skylake (server)
	* Support for Intel Cascade Lake
	* Support for Intel Ice-Lake (server)
	* Support for Intel Sapphire Rapids-SP
	* Improve support for Intel Arrandale (Pentium and Celeron)
	* Fix support for Intel Sandy Bridge-E (Core i7)
	* Support for AMD Phoenix
	* Support for Intel Raptor Lake-H/HX
	* Improve support for Intel Alder-Lake and Raptor-Lake P/U
	* Fix floating point exception in cpu_identify_all() for unsupported CPU vendor
	* Initial support for Centaur CPUs (VIA and Zhaoxin)
	* Support for Intel Apollo Lake
	* Fix build for NetBSD and DragonFly BSD (#190)
	* Support for AMD Dragon Range
	* Support for AMD Ryzen Z1


Version 0.6.3 (2023-04-02):
	* Support for Intel Pentium and Celeron for Alder Lake-S
	* Support for Intel Alder Lake-HX
	* Support for Intel Alder Lake-X
	* Fix detection of Intel Alder Lake-P
	* Fix infinite loop in set_cpu_affinity() on macOS
	* Fix a misprint of extended CPUID in cpuid_basic_identify()
	* Restore previous thread CPU affinity before returning from cpuid_get_all_raw_data() (#184)
	* Query CPU info at least once even if set_cpu_affinity() fails
	* Support for AMD 19h family MSRs
	* Fix detection of Intel Core i5 Lynnfield
	* Rename set_error() to cpuid_set_error() and get_error() to cpuid_get_error() (#188)
	* Support for Intel Alder Lake-N
	* Support for AMD Rembrandt with Radeon Graphics
	* Support for Intel Raptor Lake-S with "Golden Cove" cores
	* Support for Intel Raptor Lake-P
	* Support for Intel Raptor Lake-U
	* Support for Intel Rocket Lake-E


Version 0.6.2 (2022-11-11):
	* Fix segmentation fault in cpu_identify_all() for single-core CPUs
	* Support for Intel Penryn L
	* Support for Intel Tremont
	* Support for AMD Mendocino
	* Support for Intel Ice Lake (Xeon-D)
	* Support for AMD Zen 2 Desktop Kit CPUs (4700S + 4800S)
	* Support for AMD Athlon 64 Sherman


Version 0.6.1 (2022-10-23):
	* Support for AMD Raphael
	* Support for AMD Dali
	* Support for AMD Van Gogh
	* Fix stuck cpuid_tool due to set_cpu_affinity() on Windows (NetBSD#172)
	* Remove AMD Warhol from DB (Zen3+ cancelled)
	* Fix physical core count computed by cpu_identify_all() when HT is disabled (NetBSD#175)
	* Fix shared library symlinks with CMake (NetBSD#174)
	* Support for Intel Raptor Lake-S


Version 0.6.0 (2022-09-23):
	* Support for Intel Tiger Lake
	* CPU Family/Model is used as Ext.Family/Model
	* Use popcount64 from libc when available (NetBSD#152)
	* Reduce minimum CMake requirement 3.14 to 3.13
	* Do not link with msrdriver.c on non-Windows platform (NetBSD#159)
	* Report memory allocation failures without making a segmentation fault (NetBSD#160)
	* Support for AMD Lucienne
	* Support for AMD Rembrandt
	* Support for AMD Warhol
	* Remove Debian package from source tree (NetBSD#165)
	* Fix build under Clang 15 (NetBSD#167)
	* Support for AMD Athlon Godavari
	* Support for hybrid CPU like Intel Alder Lake (NetBSD#166)
	* Detect presence of hypervisor (NetBSD#169)
	* Decode deterministic cache info for AMD CPUs (NetBSD#168)
	* Add cache instances field in cpu_id_t and system_id_t (NetBSD#168)
	* Support AMD Bald Eagle
	* Support for more AMD Godavari (Athlon)
	* Rename AMD Bulldozer to Zambezi
	* Support for AMD Interlagos
	* Support for AMD Abu Dhabi
	* Support for AMD Beema
	* Support for AMD Steppe Eagle
	* Support for more AMD Kabini (Sempron + Athlon)
	* Improve msr_serialize_raw_data()
	* Support for AMD Zen 2 custom APU for Steam Deck
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
Upstream changes:
20250809.0 Sat Aug 9 2025
 - Tests are good in dev version. Releasing to stable.
20250715.0_01 Tue Jul 15 2025
 - NetBSD#172 - Reduce delays in detecting child exit
 - NetBSD#174 - Add quickstart section at the top of the docs
 - NetBSD#177 - Retry _read() on EINTR, instead of losing pipe contents.
 - In test suite, work around bug in NetBSD 10.
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
    Added support for free threaded CPython (3.14t+ only). (NetBSD#178)
    Note that the free-threaded build does not yet support building
    extensions with the limited API, so you must set py_limited_api=False
    when building extensions for the free-threaded build. CPython
    3.13t is not currently supported due to differences in sync
    primitive behavior from 3.14t that result in segfaults.

    Added support for Python 3.14. (NetBSD#177)

    Dropped support for Python 3.8.
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
Changed templating engine

Matugen now finally uses its own custom written templating engine with using colors as the main priority.
You can import colors from json as well.

    Added

        allow output_path of template to be none
        add --import-json-string
        support multiple paths for --import-json
        add escaping for delimiters (#190)
        add string casing filters (NetBSD#157)
        improve color generation (#182)
        add back set to (closes NetBSD#177)
        allow if expressions in filter args
        add more errors for parser
        use thiserror for parser
        remove ui
        show info message when executing hooks
        add include-image-in-json (NetBSD#175)
        remove custom_keywords
        added blend. rename old blend to harmonize
        if path has a number, use a _ prefix
        add all formats for to_color
        add matugen json, change how parser resolves colors
        add blend filter
        add looping over color formats and impl display for maps
        allow expressions inside of keywords
        add binary operations (only in filter args)
        support exprs for filter args
        replace resolve_path_filter
        add range expression
        change how resolve works
        add if statement
        add include block
        add auto_lightness
        (gui) save image folder and tab
        add input_path_modes (NetBSD#142)
        (gui) add path under images
        (gui) add images tab
        add ui
        add palettes to dump_json

    Fixed

        allow escape without anything (#200)
        do not trim source for parser (#192)
        colors not saved correctly (#184)
        casting as u8 for hue (NetBSD#168)
        cache not having colors in it (#184)
        argb_from_rgb converting wrong color (NetBSD#173)
        fix minor typo in build command
        errors in included files showing span in original
        not overwriting generated files
        check metadata only if file exists
        use "choice" instead of "or" in parser
        change template adding and fix include (NetBSD#158)
        ingoring whitespace in for loop
        actually show the template name in errors
        cache not loading
        remove dbg print for path
        trying to install color eyre twice
        not compiling because of unix wallpaper
        wrong tones in dump_json (NetBSD#116)
        remove wallpaper.set option
        add dump-json to default featues

    Other

        add command.sh to example/
        add compare-script.ts
        add resize-filter arg (#182)
        remove warnings
        use wrap_err, fix read only detection
        Update main.yml
        Update main.yml
        Update main.yml
        change release-plz workflow
        move some stuff from main into helpers
        fix all warnings
        add to_color (TODO)
        remove all warnings
        move parser into its own file
        change cache colors to #RRGGBBAA
        run cargo clippy fix
        run cargo fmt
        change cache color format
        theme the ui based on image
        fix raw strings in parser
        fix ui, move cache to cache/images
        add hooks
        improve errors, add caching toggle
        add caching
        support chaning syntax
        add hsl filters, saturate
        run cargo clippy --fix, remove benches
        use IndexMap instead for ordering in for loops
        return multiple errors
        use colorsys
        replace engine, support quoted ident
        use simplespan instead
        add set_alpha
        restructure
        move stuff from engine
        run clippy fix
        remove modified_colors
        use lazy color
        remove matugen-parser
        working for loops
        kinda working for loop
        add error for arg type
        add expect_args
        rename filtertype
        cleanup imports
        remove old filters
        working no for loops
        run cargo fmt
        refactor
        (readme) improve discord link
        run cargo fmt
        (readme) add discord server link
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
2.16.0 2025-12-23
* Fix opening STIL on MacOS (#225)
* Expose the SID models actually used
* residfp: implemented runtime SIMD dispatch for resampler (#206)
* Added usbsid support (#216)
* Improve interrupt handling in kernal stub



2.15.2 2025-11-02
* Fix building with pre c++20 standards (#214)
* Fixed crash in SidDatabase parser (#217)



2.15.1 2025-09-19
* resid/residfp: remove accidental DC offset (#205)
* residfp: clock voice 3 even if muted (#211)
* resid: fix silenced tunes (#212)
* fixed load performance regression (#207)



2.15.0 2025-06-29
* Compile with fast math, without unsafe optimizations
* residfp: reworked the SIMD support, removed the intrinsics code leaving the compiler vectorize the loop
* Extended the new play API
* Marked old play API functions as deprecated



2.14.0 2025-05-11
* Rough approximation of MDAC saturation for the 6581 (NetBSD#177) (#185)
* New play API for client side mixing (NetBSD#41) (#184)
* Minor fixes and optimizations



2.13.1 2025-04-25
* Fix build with inlining disabled (#181)
* Add missing files to the tarball (#182)
* Update exsid driver
* Fixed an uninitialized warning



2.13.0 2025-04-13
* Add support for c++23 where available
* Reworked power on delay (NetBSD#82)
* Correctly link to pthread library (NetBSD#179)
* Add proper compiler flag when enabling sse4 (NetBSD#172)
* resid/residfp: Use more bits for the 8580 filter cutoff (VICE bug 2098)
* resid: reduce aliasing noise (VICE bug 2116)



2.12.0 2024-12-01
* Better mixing for multi chip tunes (NetBSD#167)
* residfp: fixed voice sync when a saw-combined waveform is selected (NetBSD#169)
* residfp: updated CW parameters
* resid: properly adjusted 8580 Vref value
* switched to UTPP for unit tests (NetBSD#170)



2.11.0 2024-11-03
* Remove buffer size limit from mixer (fixes NetBSD#159)
* residfp: avoid quantization noise (NetBSD#156)
* residfp: implemented 6581 DC drift (NetBSD#155)
* residfp: properly adjusted 8580 Vref value



2.10.1 2024-10-20
* residfp: fix digiboost (NetBSD#157)
* residfp: fix combined waveforms (NetBSD#160)



2.10.0 2024-10-06
* Add support for c++20 where available
* residfp: retuned cw parameters after measuring waves RMS (NetBSD#143)
* residfp: code refactoring and minor performance optimizations (NetBSD#145)
* resid/residfp: scale down filter inputs in the mixer for 6581 (NetBSD#139)
* Centralized handling of muted voices and allow muting samples (NetBSD#136)
* new API to toggle the filter and deprecated sidplayfp::filter



2.9.0 2024-08-12
* residfp: use c++11 threads for building filter tables (NetBSD#92)
* residfp: code modernization and minor performance optimizations
* Performance optimizations (NetBSD#133, NetBSD#137)



2.8.0 2024-06-09
* Optimized event scheduler (NetBSD#131)
* Stop pretendig we support pre-c++11 compilers (NetBSD#130)
* Fixed thread unsafety for psid_driver (NetBSD#132)
* residfp: do not cache resampling tables (NetBSD#91)
* resid/residfp: tuned oscillator leakage



2.7.1 2024-05-19
* Sync resid with upstream
* Make strong CWs the default (NetBSD#127)
* Downtune the leakage parameter a bit (NetBSD#126)
* Fix UBSan complaint abount uninitialized var 'is6581'



2.7.0 2024-03-29
* residfp: refactor residfp filter (NetBSD#109)
* residfp: added ability to adjust the uCox parameter at runtime (NetBSD#101)
* residfp: allow setting the combined waveforms strength (NetBSD#110)
* resid/residfp: emulate oscillator leakage (NetBSD#102)



2.6.0 2024-01-01
* residfp is now thread-safe (NetBSD#71)
* residfp: fixed SSE2 version of convolve (NetBSD#105)
* residfp: updated combined waveforms model (NetBSD#97)
* residfp: amplify the output by a model dependent scale factor (NetBSD#78, NetBSD#79)
* a couple of autotools fixes (NetBSD#103, NetBSD#104, NetBSD#108)
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
# Changelog

## 1.11.12 (2025-11-20)

* Fixes
  * Properly handle `nil` from Elixir maps when encoding with the builtin `json` Erlang/OTP module; see [#184](potatosalad/erlang-jose#184)
  * Drop required Elixir version back from 1.16 -> 1.13; see [#185](potatosalad/erlang-jose#185)

## 1.11.11 (2025-11-17)

* Fixes
  * EC key decode/encode issues in OTP 28; see [#180](potatosalad/erlang-jose#180), [#181](potatosalad/erlang-jose#181), [#182](potatosalad/erlang-jose#182), [NetBSD#179](potatosalad/erlang-jose#179)
  * EdDSA key issues with OTP 27.1.3+; see [NetBSD#177](potatosalad/erlang-jose#177)
* Notes
  * This will hopefully be one of the last 1.x releases, next release will be [2.x](https://github.com/potatosalad/erlang-jose/tree/2.x)
msk pushed a commit to msk/pkgsrc that referenced this pull request May 11, 2026
## [0.9.4] - 2026-02-03

### Major: Full Windows Support

This release adds **full native Windows support**. libfyaml now builds and runs natively on Windows with MSVC, clang-cl, and Clang compilers.

**Native Windows builds:**
- Full support for building on Windows using MSVC, clang-cl, or GCC
- Works with Visual Studio, VSCode, and other Windows development tools
- All tests pass on Windows

**Cross-compilation from Linux:**
- Support for msvc-wine to install MSVC redistributables on Linux
- Compile using `cl.exe` via Wine
- Compile using `clang-cl` without Wine
- Compile using Clang cross-compilation triplet

### Major: Comment Support Now Stable

Comment parsing and emission has been moved out of experimental status. Comments can now be reliably preserved and manipulated through the API.

### Added

- `fy_node_set_style()`: Set the style of a node (block, flow, plain, etc.) - Fixes NetBSD#78
- `fy_token_set_comment()`: Attach comments to tokens programmatically
- `fy_event_to_string()`: Convert events to string representation
- `fy_diag_get_collect_errors()`: Query if error collection is enabled
- `fy_atom_lines_containing()`: Get lines containing an atom (for diagnostics)
- `fy_memstream`: Portable `open_memstream` alternative for cross-platform support
- CMake-based CI workflow with improved matrix coverage
- Emscripten platform detection for `endian.h`

### Changed

- libclang now defaults to OFF (will be enabled when reflection features are ready)
- Document start token is now preserved (may contain comments)
- Walk methods now handle error paths more systematically
- Removed non-existent experimental function declarations from `libfyaml.h`

### Fixed

- **#193**: Token creation now properly clears memory to avoid undefined behavior on invalid input
- **#186**: Reference loop nesting now respected when checking link validity
- **#185**: Fixed crash when setting document root to NULL; also fixed input size clamping for corrupted input
- **#184**: Walk memory leak fix with improved debugging infrastructure
- **#183, #191**: Error out early on `FYECF_EXTENDED_CFG` with helper emit methods (prevents crash)
- **#182**: Walk expression unref bug fix with debug infrastructure
- **#181**: Walk double-free on node delete
- **NetBSD#178, NetBSD#177**: Walk methods now handle error paths systematically (recursive alias resolution)
- **NetBSD#176**: Off-by-one error in `fy_accel_grow`
- **NetBSD#175**: Parser crash on corrupted UTF-8 at end of file
- **NetBSD#174**: Superfluous document end marker with explicit version/tag directives
- **NetBSD#173, NetBSD#172**: Depth limit for node copy (prevents stack overflow under fuzzing)
- **NetBSD#143**: Document root now correctly marked as attached
- Emit state now properly reset at end of document (fixes multi-document stream markers)
- Flow quoting error on ANY style (test was backwards)
- Empty file `fdopen` issue on some platforms
- Empty stream `realloc(0)` undefined behavior
- Removed jarring notice when alias is declared multiple times (valid YAML)

### Platform Support

**Supported platforms**: Linux, macOS, FreeBSD, OpenBSD, NetBSD, and **Windows**.

**Windows-specific:**
- Full native MSVC support (32-bit and 64-bit)
- clang-cl and Clang cross-compilation support
- msvc-wine support for Linux-based Windows cross-compilation
- Proper CRLF (DOS line ending) handling
- Fixed 32-bit MSVC intrinsics (`_BitScanForward64`, `_BitScanReverse64`, `__popcnt64`)

**Portability fixes:**
- Fixed void pointer arithmetic (GCC extension) for strict C compliance
- Fixed GCC ternary operator extension (`x ? : y` -> `x ? x : y`)
- Fixed `\e` escape sequence (GCC/clang extension) -> `\x1b`
- Fixed enum comparison warnings across platforms
- Align mremap initial size to page boundary (fixes BSD crashes)

**macOS:**
- Fixed ASAN support (requires `-fsanitize=address` at link time)
- Added extra ASAN flags for Apple's clang (alloca poisoning disabled)

**CI/Build:**
- New CMake-based GitHub Actions workflow
- Improved build matrix coverage
- Fixed distcheck breakage

### Internal

- Walk expression debug infrastructure for easier debugging
- Portable `fy_memstream` wrapper for `open_memstream`
- Use `fy_align_alloc/free` wrappers in allocator
- Fixed allocator `get_caps` return type (enum, not int)
- Atomic counter function instead of macro
- General warning cleanup pass

### Statistics

- 58 commits since v0.9.3
- 18 bug fix issues closed
- Full Windows platform support added
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant